/*
 *Universidad Distrital Francisco José de Caldas
 *Proyecto de grado, Tecnología en Sistematización de Datos
 *Autores: Fernando Samboni
 *         Juan Carlos Cruz
 *
 */

$(document).ready(function(){    
  
    //Ubica el foco en el campo Código
    $("#codigoUd").focus();
    
    //Verifica si se ha presionado la tecla 'ENTER'
    $("#codigoUd").bind("keypress", function(e){
        if(e.keyCode==13){
            ConsultarBeneficiario();
            return false;
        }
    });
        
    $('#nombreUsuario').blur(function() {        
        if($('#nombreUsuario').val()!=""){
            verificarUsuario();
        }  
        else{
            $("#msjNombreUsuario").html("<label></label>");
        }
        return false;
    });
    
    $("#btnConsultarBeneficiario").click(function(){
        ConsultarBeneficiario();
        //alert("Boton consultar beneficiario");
        return false;
    });
    $("#btnGuardar").click(function(){
                
        if($('#formulario').validationEngine('validate')){
            //crearUsuario();
            apprise('¿Está seguro que la información ingresada, es correcta?', {
                //'animate':true,
                'verify':true
            }, 
            function(event) {
                if(event) {
                    crearUsuario();
                } else {}
            });
        }
        return false;
    });
    
    $("#btnCancelar").click(function(){
       
        apprise('Está seguro que desea cancelar esta operación?', {
            //'animate':true,
            'verify':true
        }, 
        function(event) {
            if(event) {
                apprise("Operación Cancelada",{
                    'animate':true
                },function(){
                    location.reload();
                });
                        
            } else {}
        });
        return false;
    });
});

function ConsultarBeneficiario() {        
    
    //Obtenemos los datos en variables
    var codigo = $("#codigoUd").val();
    var aux = "consultarBeneficiario";
    //alert("Codigo= "+codigo)
    var dataString = "codigo="+codigo+"&aux="+aux;
    
    //Enviamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/Administracion/Usuarios/crearusuario",
        data: dataString,
        beforeSend: function(data){
        //$("#msjCodigo").html("<label style='color:blue;'></label>");
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 0){                
                $("#msjCodigoUd").html("<label style='color:red;'>* No se han encontrado coincidencias.</label>");
                $("#nombreUsuario").attr('disabled','disabled');
                $("#modulo").attr('disabled','disabled');
                $("#rol").attr('disabled','disabled');
                $("#btnGuardar").attr('disabled','disabled');
                limpiar();
            }else{
                $("#codigoUd").attr('disabled','disabled');
                $("#msjCodigoUd").html("<label style='color:green;'>* Datos encontrados.</label>");
                
                var beneficiarios =  procesarRespuesta(requestData);      
                if (!beneficiarios)
                {
                    // no se encontraron registros :(
                    alert("No hay datos de usuario"); 
                    return;
                }
                $("#nombre").attr("value",beneficiarios.nombres);
                $("#apellido").attr("value",beneficiarios.apellidos);
                $("#documento").attr("value",beneficiarios.tipo_documento +" "+beneficiarios.numero_documento);
                $("#nombreUsuario").removeAttr('disabled');               
            }                 
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        },
        complete: function (requestData, exito){}
    });
}

function verificarUsuario() {        
    
    //Obtenemos los datos en variables
    var nombreUsuario = $("#nombreUsuario").val();
    var aux = "verificarUsuario";
    //alert("Codigo= "+codigo)
    var dataString = "nombreUsuario="+nombreUsuario+"&aux="+aux;
        
    //Enviamos valores con AJAX
    $.ajax({
        async: true,
        dataType: "html",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        url: url+"/Administracion/Usuarios/crearusuario",
        data: dataString,
        beforeSend: function(data){
            $("#msjCodigo").html("<label style='color:blue;'></label>");
        },
        success: function(requestData){
            //alert("Servidor respondio: "+requestData);
            if(requestData == 1){
                $("#msjNombreUsuario").html("<label style='color:red;'>* El nombre de Usuario que desea crear ya existe.</label>");
                $("#modulo").attr('disabled','disabled');
                $("#rol").attr('disabled','disabled');
                $("#btnGuardar").attr('disabled','disabled');                
            }else{
                $("#msjNombreUsuario").html("<label style='color:green;'>* Nombre de Usuario disponible.</label>");
                $("#modulo").removeAttr('disabled');
                $("#rol").removeAttr('disabled');
                $("#btnGuardar").removeAttr('disabled');
            }                 
        },
        error: function(requestData, strError, strTipoError){
            alert("Error "+strTipoError+": " + strError);
        },
        complete: function (requestData, exito){}
    });
}

function crearUsuario() {
    if($('#formulario').validationEngine('validate')){
        //Obtenemos los datos en variables
        var codigo = $("#codigoUd").val();
        var rol = $("#rol").val();
        var nombreUsuario = $("#nombreUsuario").val();
        var modulo = $("#modulo").val();

        var aux = "crear";
        var dataString = "codigo="+codigo+"&rol="+rol+"&facultad="+facultad+"&nombre="+nombre+"&apellido="+apellido
        +"&email="+email+"&direccion="+direccion+"&telefono="+telefono+"&celular="+celular+"&aux="+aux;
        //alert("datos: "+dataString);
    
        //Enviamos valores con AJAX
        $.ajax({
            async: true,
            dataType: "html",
            type: "POST",
            contentType: "application/x-www-form-urlencoded",
            url: url+"/Administracion/Usuarios/crearusuario",
            data: dataString,
            beforeSend: function(data){
                $("#msjconfirmacion").html("<label style='color:green;'>* Enviando datos...</label>");
            },
            success: function(requestData){
                //alert("Servidor respondio: "+requestData);
                if(requestData == 1){                
                    //location.reload();  //Original      
                    //$("#msjconfirmacion").html("<label style='color:green;'>* La operacion se ha realizado con exito.<br>Las credenciales de acceso han sido enviadas </label>");
                    alert("La operación se ha realizado con éxito"); 
                    limpiar();
                }				
        
            },
            error: function(requestData, strError, strTipoError){
                alert("Error "+strTipoError+": " + strError);
            //alert("Servidor respondio: "+requestData);
            },
            complete: function (requestData, exito){}
        });   
    }     
}

function procesarRespuesta(ajaxResponse)
{ 
    // observa que aquí asumimos que el resultado es un objeto 
    // serializado en JSON, razón por la cual tomamos este dato
    // y lo procesamos para recuperar un objeto que podamos
    // manejar fácilmente
    if (typeof ajaxResponse == "string"){
        ajaxResponse = $.parseJSON(ajaxResponse);
    }               
    return ajaxResponse;
}

function limpiar() {
    //$("#codigoUd").attr("value","");
    //$("#msjCodigoUd").html("<label></label>");
    $("#nombre").attr("value","");
    $("#apellido").attr("value","");
    $("#documento").attr("value","");
    $("#nombreUsuario").attr("value","");
    $("#msjNombreUsuario").html("<label></label>");
    $("#rol").attr("value","");
    $("#modulo").attr("value","");
}


